package javabook.ch06;

class Sungjuk_6_7 { 
	void title() { 
		System.out.println("*** instanceof 연산자 ***"); 
		System.out.println("---------------------------"); 
	} 
}
class Sungjuk_6_7_1 {
	String hakbun; 
	String name; 
}

class Sungjuk_6_7_2 { 
	int jumsu; 
}

class Jv_6_7 { 
	public static void main(String[] args) { 
		
		Sungjuk_6_7 ttt = new Sungjuk_6_7(); 
		ttt.title(); 
		
		Sungjuk_6_7_1 ken = new Sungjuk_6_7_1(); 
		Sungjuk_6_7_2 boo = new Sungjuk_6_7_2();
		
		if (ken instanceof Sungjuk_6_7_1) 
			System.out.println("ken은 클래스 Sungjuk_6_7_1의 객체임"); 
		else 
			System.out.println("ken은 클래스 Sungjuk_6_7_1의 객체아님"); 
			if (boo instanceof Sungjuk_6_7_2) 
				System.out.println("boo는 클래스 Sungjuk_6_7_2의 객체임");
			else
				System.out.println("boo는 클래스 Sungjuk_6_7_2의 객체아님"); 
	}
}

/*
 * 21, 23행: instanceof 연산자 
    instanceof 연산자란 하나의 어떤 객체가 특정한 어떤 클래스 또는 인터페이스에   
    의해서 생성된 객체인지 아닌지를 판단하기 위하여 사용하는 연산자이며 참인 경우에 true, 거짓인 경우에 false를 반환한다. 
    ken instanceof Sungjuk_6_7_1에서 ken은 객체명이고, Sungjuk_6_7_1은 클래스명  이다. 
    그러므로 참이므로 true가 반환된다.
     그 이유는 Sungjuk_6_7_1 ken = new   Sungjuk_6_7_1();에서 클래스 Sungjuk_6_7_1에 의해서 객체 ken이 생성된다. 

22, 27행: instanceof 연산자 
    boo instanceof Sungjuk_6_7_2에서 boo는 객체명이고, Sungjuk_6_7_2는 클래스명  이다. 
    그러므로 참이므로 true가 반환된다.
     그 이유는 Sungjuk_6_7_2 boo = new   Sungjuk_6_7_2();에서 클래스 Sungjuk_6_7_2에 의해서 객체 boo가 생성된다.

 */




